package cn.initcap.algorithm.data.structures.queue;

/**
 * @author initcap
 * @date Created in 2018/6/24 AM9:05.
 */
public interface Queue<E> {

    /**
     * 获取大小
     *
     * @return size
     */
    int getSize();

    /**
     * 判断是否为空
     *
     * @return true为空
     */
    boolean isEmpty();

    /**
     * 移除队首元素
     *
     * @return E
     */
    E dequeue();

    /**
     * 查看队首元素
     *
     * @return 队首元素
     */
    E getFront();

    /**
     * 向队首添加元素
     *
     * @param e 添加的元素
     */
    void enqueue(E e);

}
